//
//  DebitView.swift
//  KaMengApplication
//
//  Created by DUONIU_MAC on 2018/10/8.
//  Copyright © 2018年 DUONIU_MAC. All rights reserved.
//

import UIKit

@objc protocol DebitViewDelegate {
    @objc func deleteDebitCard(index:Int) //删除银行卡
}

class DebitView: UITableView {
    
    weak var deleteDelegate : DebitViewDelegate?
    
    fileprivate let cellId = "debitCell"
    var dataArray = [PackbackModel]()

    init() {
        super.init(frame: .zero, style: .plain)
        
        self.backgroundColor = UIColor.lightGray
        
        self.delegate = self
        self.dataSource = self
        self.separatorStyle = .none
        self.bounces = false
        self.register(BankCardCell.self, forCellReuseIdentifier: cellId)
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    

}

extension DebitView : UITableViewDelegate,UITableViewDataSource {
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        
        return dataArray.count
    }
    
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        
        return RATIO_H(maxNum: 160)
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath) as? BankCardCell
        cell?.selectionStyle = .none
        cell?.model = dataArray[indexPath.row]
        return cell!
    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

    }
    
    //MARK: 设置滑动删除
    func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
        
        return true
    }
    
    //MARK: 删除
    func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
        
        self.deleteDelegate?.deleteDebitCard(index: indexPath.row)
    }
    
    //MARK: 修改按钮文字
    func tableView(_ tableView: UITableView, titleForDeleteConfirmationButtonForRowAt indexPath: IndexPath) -> String? {
        
        return delete_title
    }
}
